[INFO] fetching crate superviseur-server 0.1.0...
[INFO] fixing superviseur-server-0.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate superviseur-server 0.1.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate superviseur-server 0.1.0
[INFO] finished tweaking crates.io crate superviseur-server 0.1.0
[INFO] tweaked toml for crates.io crate superviseur-server 0.1.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate superviseur-server 0.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 444 packages to latest compatible versions
[INFO] [stderr]       Adding bollard-stubs v1.42.0-rc.7 (available: v1.42.0-rc.8)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding hcl-rs v0.12.3 (available: v0.19.7)
[INFO] [stderr]       Adding indexmap v1.9.3 (available: v2.14.0)
[INFO] [stderr]       Adding owo-colors v3.5.0 (available: v4.3.0)
[INFO] [stderr]       Adding prost v0.11.9 (available: v0.14.4)
[INFO] [stderr]       Adding toml v0.7.8 (available: v1.1.2+spec-1.1.0)
[INFO] [stderr]       Adding tonic v0.8.3 (available: v0.14.6)
[INFO] [stderr]       Adding tonic-build v0.8.4 (available: v0.14.6)
[INFO] [stderr]       Adding tonic-web v0.4.0 (available: v0.14.6)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c8c23f2ee9b5726db331570a4ca7393b3753006d9a5b2fcb9cf8003f5eb2cc1b
[INFO] running `Command { std: "docker" "start" "c8c23f2ee9b5726db331570a4ca7393b3753006d9a5b2fcb9cf8003f5eb2cc1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c8c23f2ee9b5726db331570a4ca7393b3753006d9a5b2fcb9cf8003f5eb2cc1b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8c23f2ee9b5726db331570a4ca7393b3753006d9a5b2fcb9cf8003f5eb2cc1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c8c23f2ee9b5726db331570a4ca7393b3753006d9a5b2fcb9cf8003f5eb2cc1b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking bytes v1.12.0
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking hybrid-array v0.4.12
[INFO] [stderr]    Compiling time-macros v0.2.30
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking alloc-stdlib v0.2.4
[INFO] [stderr]     Checking block-buffer v0.12.1
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking brotli-decompressor v5.0.3
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bytestring v1.5.1
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking actix-service v2.0.3
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]     Checking sha1 v0.11.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking ownedbytes v0.4.0
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking time v0.3.51
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]     Checking brotli v8.0.4
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking tantivy-common v0.4.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking actix-router v0.5.4
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking actix-rt v2.11.0
[INFO] [stderr]     Checking tokio-io-timeout v1.2.1
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]     Checking tantivy-bitpacker v0.3.0
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]     Checking impl-more v0.3.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking bytecount v0.6.9
[INFO] [stderr]     Checking fastdivide v0.4.2
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking tantivy-fst v0.4.0
[INFO] [stderr]     Checking fastfield_codecs v0.3.1
[INFO] [stderr]     Checking cookie v0.16.2
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking papergrid v0.7.1
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling tabled_derive v0.5.0
[INFO] [stderr]    Compiling async-graphql-value v5.0.10
[INFO] [stderr]     Checking measure_time v0.8.3
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking bitpacking v0.8.4
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking murmurhash32 v0.2.0
[INFO] [stderr]     Checking fail v0.5.1
[INFO] [stderr]     Checking lru v0.7.8
[INFO] [stderr]     Checking uuid v1.23.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking prost v0.11.9
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking vecmap-rs v0.1.15
[INFO] [stderr]     Checking rust-stemmers v1.2.0
[INFO] [stderr]     Checking arc-swap v1.9.1
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling multer v2.1.0
[INFO] [stderr]     Checking aho-corasick v0.7.20
[INFO] [stderr]     Checking levenshtein_automata v0.2.1
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking oneshot v0.1.13
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]     Checking census v0.4.2
[INFO] [stderr]     Checking lz4_flex v0.9.5
[INFO] [stderr]     Checking htmlescape v0.3.1
[INFO] [stderr]     Checking hcl-rs v0.12.3
[INFO] [stderr]     Checking tabled v0.10.0
[INFO] [stderr]    Compiling async-graphql-parser v5.0.10
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling actix_derive v0.6.2
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]    Compiling bollard-buildkit-proto v0.1.0
[INFO] [stderr]     Checking ascii_utils v0.9.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking actix v0.13.5
[INFO] [stderr]     Checking fast_chemail v0.9.6
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking prost-types v0.11.9
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling clap_derive v3.2.25
[INFO] [stderr]     Checking handlebars v4.5.0
[INFO] [stderr]     Checking tantivy-query-grammar v0.19.0
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling names v0.14.0
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling prettyplease v0.1.25
[INFO] [stderr]     Checking rustls-native-certs v0.6.3
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking tantivy v0.19.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking serde_with v2.3.3
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]     Checking webpki-roots v0.22.6
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking superviseur-util v0.1.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking superviseur-macros v0.1.0
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]    Compiling rust-embed-utils v7.8.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stderr]     Checking filetime v0.2.29
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking spinners v4.2.0
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling rust-embed-impl v6.8.1
[INFO] [stderr]    Compiling async-graphql-derive v5.0.10
[INFO] [stderr]     Checking notify v5.2.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]     Checking winnow v0.5.40
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]    Compiling prost-build v0.11.9
[INFO] [stderr]     Checking local-ip-addr v0.1.1
[INFO] [stderr]     Checking tokio-rustls v0.23.4
[INFO] [stderr]    Compiling tonic-build v0.8.4
[INFO] [stderr]    Compiling superviseur-server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking actix-http v3.13.1
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking hyper-rustls v0.23.2
[INFO] [stderr]     Checking hyperlocal v0.8.0
[INFO] [stderr]     Checking superviseur-types v0.1.0
[INFO] [stderr]     Checking superviseur-provider v0.1.0
[INFO] [stderr]     Checking superviseur-log v0.1.0
[INFO] [stderr]     Checking toml v0.7.8
[INFO] [stderr]     Checking actix-web v4.14.0
[INFO] [stderr]     Checking async-graphql v5.0.10
[INFO] [stderr]     Checking tonic v0.8.3
[INFO] [stderr]     Checking actix-web-actors v4.3.1+deprecated
[INFO] [stderr]     Checking rust-embed v6.8.1
[INFO] [stderr]     Checking actix-cors v0.6.5
[INFO] [stderr]     Checking tonic-web v0.4.0
[INFO] [stderr]     Checking bollard-stubs v1.42.0-rc.7
[INFO] [stderr]     Checking async-graphql-actix-web v5.0.10
[INFO] [stderr]     Checking superviseur-graphql v0.1.0
[INFO] [stderr]     Checking bollard v0.14.0
[INFO] [stderr]     Checking superviseur-drivers v0.1.0
[INFO] [stderr]     Checking superviseur-core v0.1.0
[INFO] [stderr]     Checking superviseur-webui v0.1.0
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/macros.rs (6 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/control.rs:242:23
[INFO] [stdout]      |
[INFO] [stdout]  242 |                 match services.find(|(name, _)| *name == *dependency) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  243 |                     Some((_, service)) => {
[INFO] [stdout]      |                              -------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              `service` calls a custom destructor
[INFO] [stdout]      |                              `service` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  253 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.12.3/src/raw/mod.rs:1813:1
[INFO] [stdout]      |
[INFO] [stdout] 1813 | impl<T, A: Allocator + Clone> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `service` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.12.3/src/raw/mod.rs:1813:1
[INFO] [stdout]      |
[INFO] [stdout] 1813 | impl<T, A: Allocator + Clone> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/logging.rs:282:40
[INFO] [stdout]     |
[INFO] [stdout] 279 |                 let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                     -------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `events_rx` calls a custom destructor
[INFO] [stdout]     |                     `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                 let tx = tx.clone();
[INFO] [stdout]     |                     --
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `tx` calls a custom destructor
[INFO] [stdout]     |                     `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                 match events_rx.recv().await {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 445 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 283 |                       Some(SuperviseurEvent::Starting(project, service)) => {
[INFO] [stdout] 284 | /                         return_event!(
[INFO] [stdout] 285 | |                             tx,
[INFO] [stdout] 286 | |                             service_name,
[INFO] [stdout] 287 | |                             SERVICE_STARTING,
[INFO] [stdout] ...   |
[INFO] [stdout] 290 | |                             "".into()
[INFO] [stdout] 291 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 292 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 295 | /                         return_event!(
[INFO] [stdout] 296 | |                             tx,
[INFO] [stdout] 297 | |                             service_name,
[INFO] [stdout] 298 | |                             SERVICE_STOPPING,
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | |                             "".into()
[INFO] [stdout] 302 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 303 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 | /                         return_event!(
[INFO] [stdout] 307 | |                             tx,
[INFO] [stdout] 308 | |                             service_name,
[INFO] [stdout] 309 | |                             SERVICE_RESTARTING,
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |                             "".into()
[INFO] [stdout] 313 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 314 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 317 | /                         return_event!(
[INFO] [stdout] 318 | |                             tx,
[INFO] [stdout] 319 | |                             service_name,
[INFO] [stdout] 320 | |                             SERVICE_BUILDING,
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | |                             "".into()
[INFO] [stdout] 324 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 325 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 327 |                       Some(SuperviseurEvent::SetupEnv(project, service, output)) => return_event!(
[INFO] [stdout]     |  ___________________________________________________________________________________-
[INFO] [stdout] 328 | |                         tx,
[INFO] [stdout] 329 | |                         service_name,
[INFO] [stdout] 330 | |                         SERVICE_SETUP_ENV,
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |                         output
[INFO] [stdout] 334 | |                     ),
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                       in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 337 | /                         return_event!(
[INFO] [stdout] 338 | |                             tx,
[INFO] [stdout] 339 | |                             service_name,
[INFO] [stdout] 340 | |                             SERVICE_STARTED,
[INFO] [stdout] ...   |
[INFO] [stdout] 343 | |                             "".into()
[INFO] [stdout] 344 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 345 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 347 | /                         return_event!(
[INFO] [stdout] 348 | |                             tx,
[INFO] [stdout] 349 | |                             service_name,
[INFO] [stdout] 350 | |                             SERVICE_STOPPED,
[INFO] [stdout] ...   |
[INFO] [stdout] 353 | |                             "".into()
[INFO] [stdout] 354 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 355 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 358 | /                         return_event!(
[INFO] [stdout] 359 | |                             tx,
[INFO] [stdout] 360 | |                             service_name,
[INFO] [stdout] 361 | |                             SERVICE_RESTARTED,
[INFO] [stdout] ...   |
[INFO] [stdout] 364 | |                             "".into()
[INFO] [stdout] 365 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 366 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 369 |                           return_event!(tx, service_name, SERVICE_BUILT, project, service, "".into())
[INFO] [stdout]     |                           --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout] 370 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                               Err(e) => {
[INFO] [stdout]     |                                   -
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                                   `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 373 |                           return_event!(tx, service_name, SERVICE_LOGS, project, service, output)
[INFO] [stdout]     |                           ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout] 374 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                               Err(e) => {
[INFO] [stdout]     |                                   -
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                                   `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 377 |                           return_event!(tx, service_name, SERVICE_ERROR, project, service, output)
[INFO] [stdout]     |                           ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout] 378 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                               Err(e) => {
[INFO] [stdout]     |                                   -
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                                   `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 381 | /                         return_event!(
[INFO] [stdout] 382 | |                             tx,
[INFO] [stdout] 383 | |                             service_name,
[INFO] [stdout] 384 | |                             SERVICE_CRASHED,
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | |                             "".into()
[INFO] [stdout] 388 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 389 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/logging.rs:392:31
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              ----^
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |                              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |                              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                               Err(e) => {
[INFO] [stdout]     |                                   -
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                                   `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 406 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________-
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/control.rs:242:23
[INFO] [stdout]      |
[INFO] [stdout]  242 |                 match services.find(|(name, _)| *name == *dependency) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  243 |                     Some((_, service)) => {
[INFO] [stdout]      |                              -------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              `service` calls a custom destructor
[INFO] [stdout]      |                              `service` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  253 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.12.3/src/raw/mod.rs:1813:1
[INFO] [stdout]      |
[INFO] [stdout] 1813 | impl<T, A: Allocator + Clone> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `service` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.12.3/src/raw/mod.rs:1813:1
[INFO] [stdout]      |
[INFO] [stdout] 1813 | impl<T, A: Allocator + Clone> Drop for RawTable<T, A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/logging.rs:282:40
[INFO] [stdout]     |
[INFO] [stdout] 279 |                 let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                     -------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `events_rx` calls a custom destructor
[INFO] [stdout]     |                     `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                 let tx = tx.clone();
[INFO] [stdout]     |                     --
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `tx` calls a custom destructor
[INFO] [stdout]     |                     `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                 match events_rx.recv().await {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 445 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 283 |                       Some(SuperviseurEvent::Starting(project, service)) => {
[INFO] [stdout] 284 | /                         return_event!(
[INFO] [stdout] 285 | |                             tx,
[INFO] [stdout] 286 | |                             service_name,
[INFO] [stdout] 287 | |                             SERVICE_STARTING,
[INFO] [stdout] ...   |
[INFO] [stdout] 290 | |                             "".into()
[INFO] [stdout] 291 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 292 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 295 | /                         return_event!(
[INFO] [stdout] 296 | |                             tx,
[INFO] [stdout] 297 | |                             service_name,
[INFO] [stdout] 298 | |                             SERVICE_STOPPING,
[INFO] [stdout] ...   |
[INFO] [stdout] 301 | |                             "".into()
[INFO] [stdout] 302 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 303 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 | /                         return_event!(
[INFO] [stdout] 307 | |                             tx,
[INFO] [stdout] 308 | |                             service_name,
[INFO] [stdout] 309 | |                             SERVICE_RESTARTING,
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |                             "".into()
[INFO] [stdout] 313 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 314 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 317 | /                         return_event!(
[INFO] [stdout] 318 | |                             tx,
[INFO] [stdout] 319 | |                             service_name,
[INFO] [stdout] 320 | |                             SERVICE_BUILDING,
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | |                             "".into()
[INFO] [stdout] 324 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 325 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 327 |                       Some(SuperviseurEvent::SetupEnv(project, service, output)) => return_event!(
[INFO] [stdout]     |  ___________________________________________________________________________________-
[INFO] [stdout] 328 | |                         tx,
[INFO] [stdout] 329 | |                         service_name,
[INFO] [stdout] 330 | |                         SERVICE_SETUP_ENV,
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |                         output
[INFO] [stdout] 334 | |                     ),
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                       in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 337 | /                         return_event!(
[INFO] [stdout] 338 | |                             tx,
[INFO] [stdout] 339 | |                             service_name,
[INFO] [stdout] 340 | |                             SERVICE_STARTED,
[INFO] [stdout] ...   |
[INFO] [stdout] 343 | |                             "".into()
[INFO] [stdout] 344 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 345 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 347 | /                         return_event!(
[INFO] [stdout] 348 | |                             tx,
[INFO] [stdout] 349 | |                             service_name,
[INFO] [stdout] 350 | |                             SERVICE_STOPPED,
[INFO] [stdout] ...   |
[INFO] [stdout] 353 | |                             "".into()
[INFO] [stdout] 354 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 355 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 358 | /                         return_event!(
[INFO] [stdout] 359 | |                             tx,
[INFO] [stdout] 360 | |                             service_name,
[INFO] [stdout] 361 | |                             SERVICE_RESTARTED,
[INFO] [stdout] ...   |
[INFO] [stdout] 364 | |                             "".into()
[INFO] [stdout] 365 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 366 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 369 |                           return_event!(tx, service_name, SERVICE_BUILT, project, service, "".into())
[INFO] [stdout]     |                           --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout] 370 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                               Err(e) => {
[INFO] [stdout]     |                                   -
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                                   `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 373 |                           return_event!(tx, service_name, SERVICE_LOGS, project, service, output)
[INFO] [stdout]     |                           ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout] 374 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                               Err(e) => {
[INFO] [stdout]     |                                   -
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                                   `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 377 |                           return_event!(tx, service_name, SERVICE_ERROR, project, service, output)
[INFO] [stdout]     |                           ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout] 378 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                               Err(e) => {
[INFO] [stdout]     |                                   -
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     |                                   `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[INFO] [stdout] 437 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                            |   `#45` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     |                            `#46` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `events_rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `return_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:15
[INFO] [stdout]     |
[INFO] [stdout]   7 |           match $tx
[INFO] [stdout]     |  _______________^
[INFO] [stdout]   8 | |             .send(Ok(EventsResponse {
[INFO] [stdout]   9 | |                 event: $event.to_string(),
[INFO] [stdout]  10 | |                 project: $project,
[INFO] [stdout] ...   |
[INFO] [stdout]  14 | |             }))
[INFO] [stdout]  15 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |              |   up until Edition 2021 `#47` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |              |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |              |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |              |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |              |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |              |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |              |   `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     | |              |   `#20` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     | |              |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     | |              |   `#26` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     | |              |   `#29` will be dropped later as of Edition 2024
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     | |              |   `#32` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                |   `#35` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     |                up until Edition 2021 `#48` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                `#27` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                `#33` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     |                `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  18 |               Err(e) => {
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `e` calls a custom destructor
[INFO] [stdout]     |                   `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                   `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                   `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                   `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                   `#31` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     |                   `#34` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     |                   `#37` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logging.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                   let mut events_rx = events_rx.lock().await;
[INFO] [stdout]     |                       -------------   ----------------------
[INFO] [stdout]     |                       |               |                |
[INFO] [stdout]     |                       |               |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |               |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `events_rx` calls a custom destructor
[INFO] [stdout]     |                       `events_rx` will be dropped later as of Edition 2024
[INFO] [stdout] 280 |                   let tx = tx.clone();
[INFO] [stdout]     |                       --
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `tx` calls a custom destructor
[INFO] [stdout]     |                       `tx` will be dropped later as of Edition 2024
[INFO] [stdout] 281 |
[INFO] [stdout] 282 |                   match events_rx.recv().await {
[INFO] [stdout]     |                         ----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 381 | /                         return_event!(
[INFO] [stdout] 382 | |                             tx,
[INFO] [stdout] 383 | |                             service_name,
[INFO] [stdout] 384 | |                             SERVICE_CRASHED,
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | |                             "".into()
[INFO] [stdout] 388 | |                         )
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout] 389 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 392 |                           match tx
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout] 393 | |                             .send(Ok(EventsResponse {
[INFO] [stdout] 394 | |                                 event: ALL_SERVICES_STARTED.to_string(),
[INFO] [stdout] 395 | |                                 project,
[INFO] [stdout] ...   |
[INFO] [stdout] 398 | |                             }))
[INFO] [stdout] 399 | |                             .await
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |______________________________|___|
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                |   `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     |                                `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 | |                             Err(e) => {
[INFO] [stdout]     | |                                 -
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 410 | |                             event: ALL_SERVICES_STOPPED.to_string(),
[INFO] [stdout] 411 | |                             project,
[INFO] [stdout] 412 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 413 | |                             ..Default::default()
[INFO] [stdout] 414 | |                         }))
[INFO] [stdout] 415 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     |                            |   `#41` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     |                            `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 420 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 421 | |                             event: ALL_SERVICES_RESTARTED.to_string(),
[INFO] [stdout] 422 | |                             project,
[INFO] [stdout] 423 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 424 | |                             ..Default::default()
[INFO] [stdout] 425 | |                         }))
[INFO] [stdout] 426 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                            |   `#43` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     |                            `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 | /                         tx.send(Ok(EventsResponse {
[INFO] [stdout] 432 | |                             event: ALL_SERVICES_BUILT.to_string(),
[INFO] [stdout] 433 | |                             project,
[INFO] [stdout] 434 | |                             date: chrono::Utc::now().to_rfc3339(),
[INFO] [stdout] 435 | |                             ..Default::default()
[INFO] [stdout] 436 | |                         }))
[WARN] too many lines in the log, truncating it
